package com.Rolin.wss.dao;

import com.Rolin.wss.model.FlightOrderVO;
import com.Rolin.wss.model.FlightTypeVO;
import com.Rolin.wss.model.FlightVO;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;

public interface FlightMapper {

    /**
     * @param fly 飞机是否已经起飞
     * @return 一个包含了所选择航班的ArrayList
     */
    public ArrayList<FlightVO> selectFlightsData(Integer fly);

    /**
     * @param typeId 机型ID
     * @return 机型的相关数据
     */
    public FlightTypeVO selectAirplaneType(Integer typeId);


    /**
     * 通过用户ID与航班ID确定唯一的机票订单
     * @param flightId 航班ID
     * @param userId 用户ID
     * @return 返回符合要求的一个航班订单
     */
    public FlightOrderVO selectFlightOrderByFlightUser(Integer flightId,Integer userId);

    public FlightOrderVO selectFlightOrderByTicketID(Integer fo_id);

    /**
     * 查询某用户相关的所有航班订单
     * @param userId 用户ID
     * @return 返回一个航班订单结果集
     */
    public ArrayList<FlightOrderVO> selectFlightOrdersByUser(Integer userId);

    /**
     * 用户购买机票，需要一个flightID与UserID
     * @param flightOrderVO 对象
     * @return 成功返回1 失败返回1
     */
    public Integer insertFlightOrderByFlightUser( FlightOrderVO flightOrderVO);

    public FlightVO selectFlightByID(int flightID);

}
